When transmitting information packets or frames, whether by way of wired or wireless means, some of these packets may be lost or get corrupted. Even with the increase of bandwidth and improvement of network or transmission technologies, such losses cannot be completely avoided.
In the case where a speech packet or audio packet is lost or get corrupted, such loss or corruption may result in audible artifacts, degrading of audio quality and unperceptive audio content. The degradation is especially annoying during real-time streaming or transmission.
In order to minimize such degradation, error concealment scheme is employed. The fundamental idea is to replace the error data with some synthesis or generated data. The purpose of error concealment, as the name implies, is to hide or mask the error resulted from data loss and/or data corruption during transmission, reception, storage, encoding or decoding processing so that in the best case the error will not be noticed or at least not so apparent.
There are numerous schemes and techniques of error concealment, which targets speech data and audio data. Some are sender-assisted, while others are receiver-based. For sender-assisted method, the sender side will retransmit lost or corrupted information or embeds error correction information in the transmitted information so that lost data can be recovered. For receiver-based schemes, information from the sender is not required to assist in concealing the lost data. This is intended to make data function by replacing the lost or corrupted data with some useful information, and this information is usually an estimate of what has been lost or corrupted. These replacement data are generated at the receiver side without assistance from the sender.
There are various techniques for receiver-based error concealment scheme. The simpler method include muting and data repetition. Muting simply replaces the error data with silence or zero values that is of the same duration as the error data, whereas data repetition simply replaces the error data with the most recent non-error data.
Using a data interpolation technology (e.g., see non-Patent Document 1) makes it possible to obtain a better result compared to the above-mentioned simple techniques. This technique tries to reconstruct replacement data by interpolation from non-error data adjacent to error data.
Furthermore, there are more complex methods, which are codec dependent in that it is optimized for a particular type of speech or audio codec. This method regenerates data to replace lost data using the knowledge of the audio compression algorithm to derive the codec parameter.
FIG. 1 is a flow chart showing a procedure of an error concealment technique which incorporates the muting, duplication and interpolation error concealment processing.
When a frame of audio data is received, it is examined in ST101 whether or not this is an error frame. When this is not an error frame, the received data is stored in a memory in ST102 for future use, probably during interpolation processing in ST107. When the received frame is detected as an error frame in ST101, a series of decisions are made in ST103 and ST105 to decide which of the error concealment techniques is most suitable to be applied to the current error frame based on the previous and/or future non-error frame if delay is allowed in the system. In ST103, it is checked if the current error frame is suitable to be muted. When muting is chosen, the current error frame is replaced with zero data in ST104. That is, the current error frame is replaced with silence. When muting is not suitable for this error frame, it is checked in ST105 if interpolation can be carried out for this frame. When interpolation is not suitable, for example, in burst error or there is no delay to buffer future data, the last non-error frame will be repeated in the current error frame in ST106. When interpolation is selected in ST105, interpolation processing is performed in ST107 using the data stored in ST102.
Non-patent Document 1: I. Kauppinen et al. “Audio Signal Extrapolation—Theory and Applications” Proc. of 5th Int. Conf. on Digital Audio Effect, September 2000